import pandas as pd
import os

def process_csv_file(csv_file_path):
    # 读取 CSV 文件，跳过前三行
    df = pd.read_csv(csv_file_path, skiprows=3)

    # 删除左四列
    df = df.iloc[:, 5:8]

    # 若第一列存在
    if not df.empty:
        first_col_name = df.columns[0]
        # 自动推断日期时间格式，无法解析的转换为 NaT
        df[first_col_name] = pd.to_datetime(df[first_col_name], utc=True, infer_datetime_format=True, errors='coerce')
        # 删除转换失败（值为 NaT）的行
        df = df[~df[first_col_name].isna()]
        # 删除时间中的毫秒部分
        df[first_col_name] = df[first_col_name].dt.floor('S')
        # 转换为本地时间
        df[first_col_name] = df[first_col_name].dt.tz_convert(None)

    # 获取 CSV 文件的文件名（不包含扩展名）
    file_name = os.path.splitext(csv_file_path)[0]

    # 保存处理后的 DataFrame 为 Excel 文件
    excel_file_path = f"{file_name}.xlsx"
    df.to_excel(excel_file_path, index=False)

    return excel_file_path

if __name__ == "__main__":
    # 请将这里替换为实际的 CSV 文件路径
    csv_file_path = 'data.csv'
    output_excel_path = process_csv_file(csv_file_path)
    print(f"处理后的文件已保存为: {output_excel_path}")